package com.xxzuibang.day8.方法的递规;

/**
 * 方法的递归调用
 * 基本介绍：递归也就是方法自己调用自己，每次调用时传图不同的变量
 * 解决的问题：1.各种数学问题：8皇后的问题，汉诺塔，阶乘，迷宫，球和篮子的问题
 *           2.各种算法中，快速排序，归并排序，二分查找，分治算法
 *           3.栈解决的问题，代码简洁
 */
public class Demo01  {
    public static void main(String[] args) {
        T t=new T();
        t.test(4);
        int res=t.factorial(5);
        System.out.println("我所要求的阶乘最终的值为"+res);
    }
}

class T{//打印问题
    public  void test(int n){
        if(n>2){
            test(n-1);
        }
        System.out.println("n的值为"+n);
    }
    //factorial 阶乘
    public  int factorial(int n){//阶乘问题
        if(n==1){
            return 1;
        }else {
            return factorial(n-1)*n;
        }
    }
}